A database management system (DBMS) such as a database of Oracle provides various indexing techniques according to properties of data or searching in order to achieve fast searching of stored data. If the indexing technique is not used, all stored data values should be scanned in order to search the database for desired data. Thus, as the amount of data increases, a time required for the database search may increase in geometrical progression. Therefore, indexing techniques should be supported by DBMS for search of the great amount of data.
However, there is a problem that conventional indexing techniques supported by DBMS cannot properly operate with respect to encrypted data. Also, when databases such as Oracle or MS-SQL use encryption techniques provided by them, indexing techniques can also be applied to encrypted data. However, they cannot support various encryption techniques (e.g. ARIA, SEED, ASE, DES, etc.) suggested by the act on the protection of personal information. Meanwhile, some of DBMSs provide a function such as a function based index (FBI) in which encrypted data are decrypted and indexes are generated using the decrypted data. However, since such the method constructs indexes as not encrypted, there is a problem in which personal information may be exposed and thus the method cannot be used for protection of privacy information.
Therefore, in order to perform fast search of data in fields encrypted for protection a privacy information, since the data in the encrypted fields do not inherit an order of original data, a method of constructing indexes for encrypted fields based on decrypted data and a method of searching for encrypted data by using the constructed indexes of encrypted fields are necessarily required.